package co.edu.uniandes.services;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

/**
 * 
 * @author Rafael Guillermo Blanco Banquez <rafaelg.blancob@gmail.com>
 * Clase encargada de Conectarse con el Servidor Por medio de RMI LookUp
 * 
 * Licence: GNU
 */
public class ConexionServerRMI {
	
	private static Context context;
    private static String cadenaCon;
    /**
     * Clase que me retona un conexto de conexion con el servidor de Aplicaciones
     * @return context Contexto de conexion con el servidor de Aplicaciones..
     * @throws Exception Excepcion que puede presentarse en el momento de conexion
     * @see com.practicas.constantes.Constantes
     */
    public synchronized static Context getContext() throws Exception{
        
    	System.out.println("SOLICITANDO CONTEXTO");
        if(context == null){
            
            Properties p = new Properties();
            p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
            p.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
            cadenaCon = "jnp://"+ConstantesContext.IP_SERVER+":"+ConstantesContext.PUERTO_SERVIDOR_APLICACIONES_JNP;
            System.out.println(cadenaCon);
            p.put(Context.PROVIDER_URL, cadenaCon);
            context  = new InitialContext(p);
            
        }
        System.out.println("RETORNANDO CONTEXTO -> "+  context);
        return context;
    }
    
}
